/**
 * 这是一个方便在TickStream中进行扩展的工具，将静态内容转化为动态内容，具体使用方法见http://
 */
global.Adapter = {

    adapter:{},//用户自定义的Adapter

    register:function(data){
        if(!util.isArray(data)){
            throw TypeError("[TickStream][Adapter] 入参 'data' 应为 'Array' 类型");
        }

        for(let adapter of data){
            //检查数据格式
            if(util.hasKey(() => adapter.name)
            && util.hasKey(() => adapter.call)){
                //写入adapter
                this.adapter[adapter.name] = adapter.call;
            }else{
                throw TypeError("[TickStream][Adapter] 入参 结构缺少数据");
            }
        }
    },
    load:function(adapterName){//加载用户自定义的Adapter
        //寻找相应adapter
        let adapterFun = util.getValue(() => Adapter.adapter[adapterName].fn,() => {return undefined});

        return adapterFun;
    },


    /**
     * 一些自带的Adapter
     */
    Register:{//注册表的Adapter
        roomAdapter:function(){

        }
    }
}